package cn.minhx.mw.dtp.sdk.domain;

import cn.minhx.mw.dtp.sdk.domain.model.entity.ThreadPoolConfigEntity;

import java.util.List;

/**
 * 线程池配置服务
 *
 * @author minhx
 */
public interface DynamicThreadPoolService {

    /**
     * 获取应用内所有线程池配置实体
     * 【ThreadPoolExecutor】
     *
     * @return 线程池配置实体
     */
    List<ThreadPoolConfigEntity> getThreadPoolConfigList();

    /**
     * 获取应用内指定线程池配置实体
     * 【ThreadPoolExecutor】
     *
     * @param threadPoolName 线程池名称
     * @return 线程池配置实体
     */
    ThreadPoolConfigEntity getThreadPoolConfigByName(String threadPoolName);

    /**
     * 更新线程池配置
     * 只更新核心线程数和最大线程数
     *
     * @param threadPoolConfigEntity 线程池配置实体
     */
    void updateThreadPoolConfig(ThreadPoolConfigEntity threadPoolConfigEntity);

}
